﻿using System;
using System.Web;
using Core.Library;
using DataObject;
using DataObject.Customer;

public partial class Controls_Customer_ChangePassword : System.Web.UI.UserControl
{
    protected CustomerObject Customer;
    protected string Username;
    protected void Page_Load(object sender, EventArgs e)
    {
        rfvOldPassword.ErrorMessage = "(*) - Nhập mật khẩu cũ";
        rfvPassword.ErrorMessage    = "(*) - Nhập mật khẩu mới";
        rfvRePassword.ErrorMessage  = "(*) - Nhập xác nhận mật khẩu";

        if (HttpContext.Current.Session["e3group.denhongphuc.customer"] != null)
            Customer = (CustomerObject)Session["e3group.denhongphuc.customer"];
        else
            Response.Redirect(UrlHelpers.Home);

        Page.Title = string.Format(".: Đổi mật khẩu {0} :.", Constants.SITE_TITLE);    
    }

    protected void BtnSave(object sender, EventArgs e)
    {
        try
        {
            if (HttpContext.Current.Session["e3group.denhongphuc.customer"] != null)
            {
                var isChangePassword = false;
                var co = CustomerController.Customer_GetById(Customer.CustomerId);

                if (co != null)
                {
                    if (SecurityUtility.MD5Encrypt(txtOldPassword.Text.Trim()) == co.Password)
                        isChangePassword = true;
                    else
                    {
                        ltMessage.Text = MessageUtility.ShowMessage(string.Empty, "Mật khẩu cũ không khớp nhau, xin hãy thử lại.", MessageType.Warning);
                        return;
                    }
                }

                if (isChangePassword)
                {
                    if (txtPassword.Text == txtRePassword.Text)
                    {
                        CustomerController.Customer_ChangePassword(co.CustomerId, SecurityUtility.MD5Encrypt(txtPassword.Text.Trim()));
                        ltMessage.Text = MessageUtility.ShowMessage(string.Empty, "Đổi mật khẩu thành công.", MessageType.Success);
                    }
                    else
                    {
                        ltMessage.Text = MessageUtility.ShowMessage(string.Empty, "Mật khẩu và xác nhận mật khẩu không khớp.", MessageType.Warning);
                        return;
                    }
                }
            }
            else
                Response.Redirect(UrlHelpers.Home);
        }
        catch { ltMessage.Text = MessageUtility.ShowMessage(string.Empty, "Lỗi đổi mật khẩu. Vui lòng quay lại sau.", MessageType.Failure); }        
    }
}